Game system and game program

ABSTRACT

The present invention is directed to a game system that causes a three-dimensional virtual game space  71  to be displayed on a display device in the direction of a predetermined line of sight. The three-dimensional virtual game space  71  has a plurality of objects appearing therein. After the direction of the line of sight is set, a frame setting plane  76  is set in the three-dimensional game space. Next, a frame coordinate value indicative of a position of each selected object projected on the frame setting plane is calculated. Based on the frame coordinate value, a frame is set. The frame is virtually set on the frame setting plane  76  so that all positions indicated by the frame coordinate values of the selected objects are located inside of the frame. Based on this frame, a display area to be displayed on the display device is determined.

FIELD

The illustrative embodiments relate to game systems and game programsthat cause a three-dimensional game space to be displayed on a displaydevice and, more specifically, to a game system and a game program thatchanges a display area according to positions of objects.

BACKGROUND AND SUMMARY

Conventionally, a large number of games where a plurality of objectsappear in a three-dimensional space have been available. In such a game,where to set a virtual camera, particularly, which area on the gamespace is set as a display area, is an important issue. When a pluralityof objects are all important objects in the game, the display area isset so that all of these objects can be displayed inside of the displayarea.

In view of the above, a game system has been devised in which a displayarea in a game space can be changed so that a plurality of objects canbe included in the display area. In such a game system, two frames, aninner frame and an outer frame, are set on a screen. Using these frames,image zoom-up or zoom-down is performed. Here, such a game system isspecifically described below by taking a soccer game as an example. Whenall athlete characters (objects) are present inside of the inner frame,the image is zoomed up (the display area is reduced). When one of theathlete characters goes outside of the outer frame, the image is zoomeddown (the display area is enlarged). With this, a plurality of objects(for example, a soccer ball and the athlete characters) can be includedin the display area.

In the above exemplary game system, a fixation point on the display area(the fixation point is assumed herein to be the center point of thedisplay area, that is, a point displayed at the center of the screen) isset fixedly at a single specific object. Specifically, since the abovegame system is for a soccer game, the fixation point is set at a soccerball object. That is, the display area is determined so that the soccerball is always displayed near the center of the screen.

However, depending on the game contents, the scheme of setting afixation point fixedly at a single object may not be appropriate. Forexample, the scheme may not be appropriate for multiplay-type gameswhere characters are operated by a plurality of players, that is, gameswhere objects to which a plurality of players would pay attention arepresent on a single screen. In such games, if the fixation point is setfixedly at one particular object, that object is displayed on the centerof the screen, and therefore the state of the object and itssurroundings is displayed so as to be easy to view. However, otherobjects and their surroundings are not necessarily displayed so as to beeasy to view.

For example, in multiplay-type games, each player pays most attention toa player character operated by that player. That is, each player paysattention to each different character. However, in the conventionalscheme, the fixation point is set fixedly at only one of the characters,and that character is always displayed at the center of the screen. Sucha display is easy to view for a player who pays most attention to thecharacter displayed on the center of the screen. For other players,however, such a display is not easy to view and might be unfair insofaras viewability of the screen. As such, the scheme of setting thefixation point at one specific point in the game space is notnecessarily appropriate when a plurality of objects receiving attentionare present because viewability of the object at the fixation point andviewability of other objects are completely different from each other.

The illustrative embodiments provide a game system that allows aplurality of objects to be displayed so as to be easy to view.

The illustrative embodiments adopt the following structure to achievethe object mentioned above. Note that reference characters and numeralsin parentheses below are used for exemplary purposes only for the sakeof better understanding of the present invention, and do not restrictthe scope of the present invention.

A first aspect of the illustrative embodiments is directed to a gamesystem (1) for causing a three-dimensional virtual game space (gamespace 71) to be displayed on a display device (television 2) in adirection of a predetermined line of sight (73). The three-dimensionalvirtual game space has a plurality of objects appearing therein. In thisgame system, at least two of the plurality of objects are set asselected objects (first to third player characters 81 through 83 andfirst enemy character 84). Also, the game system includes line-of-sightdirection setting means (CPU 31 executing step S1; only step number ishereinafter referred); frame-setting-plane setting means (S401);frame-coordinate-value calculating means (S402); frame setting means(S404 through S419); and display control means (S6 and S7). Theline-of-sight direction setting means sets the direction of the line ofsight. The frame-setting-plane setting means sets a frame setting plane(76) in the three-dimensional game space. The frame-coordinate-valuecalculating means calculates a frame coordinate value. The framecoordinate value indicates, for each of the selected objects, a point ofintersection of the frame setting plane and a straight line passingthrough the selected object in the three-dimensional game space andextending along the line of sight set by the line-of-sight directionsetting means. The frame setting means virtually sets a frame (firstframe 77 or second frame 78) on the frame setting plane, the frameincluding every position indicated by the frame coordinate value of eachof the selected objects. The display control means determines verticesof a view volume based on vertices of the frame set by the frame settingmeans and causes the game space to be displayed on the display device.

Typically, the display control means determines points on a straightline passing through the vertices of the frame set by the frame settingmeans and extending along the line of sight set by the line-of-sightdirection setting means as the vertices of the view volume.

Also, the frame-setting-plane setting means typically sets a planeperpendicular to the direction of the line of sight set by theline-of-sight direction setting means as the frame setting plane.

A second aspect of the illustrative embodiments is directed to a gamesystem for causing a three-dimensional virtual game space to bedisplayed on a display device in a direction of a predetermined line ofsight. The three-dimensional virtual game space has a plurality ofobjects appearing therein. In this game system, at least two of theplurality of objects are set as selected objects. The game systemincludes: viewing point position setting means; frame-setting-planesetting means; frame-coordinate-value calculating means; frame settingmeans; and display control means. The viewing point position settingmeans sets a position of a viewing point. The frame-setting-planesetting means sets a frame setting plane in the three-dimensional gamespace. The frame-coordinate-value calculating means calculates for eachof the selected objects, a frame coordinate value indicative of a pointof intersection of the frame setting plane and a straight lineconnecting the selected object in the three-dimensional game space andthe position of the viewing point set by the viewing point positionsetting means. The frame setting means virtually sets a frame on theframe setting plane, the frame including every position indicated by theframe coordinate value of each of the selected objects. The displaycontrol means determines vertices of a view volume based on vertices ofthe frame set by the frame setting means and causes the game space to bedisplayed on the display device.

Typically, the display control means determines points on a straightline passing through the vertices of the frame set by the frame settingmeans and extending toward a direction of the viewing point as thevertices of the view volume.

The game system may further include frame expanding means (S404 throughS411). The frame expanding means expands the frame set by the framesetting means by a predetermined width upward, downward, rightward, andleftward on the frame setting plane. At this time, the display controlmeans determines the vertices of the view volume based on the verticesof the frame expanded by the frame expanding means.

When a screen area provided on the display device for displaying thethree-dimensional game space is set to have a shape of a rectanglehaving a predetermined aspect ratio, the game system may further includeaspect ratio correcting means (S507 through S509). The aspect ratiocorrecting means increases either one of a height or a width of theframe so that an aspect ratio of the frame set by the frame settingmeans is equal to the predetermined aspect ratio. At this time, thedisplay control means determines the vertices of the view volume basedon the vertices of the frame corrected by the aspect ratio correctingmeans.

Furthermore, the aspect ratio correcting means corrects the frame acenter of the frame is not changed before and after correction.

Still further, the game system may be used by a plurality of players forplaying a game. At this time, the selected objects at least include aplurality of player characters operated by the plurality of players.

The illustrative embodiments may be provided in a form of a game programto be executed by a computer of a game system or in a form of a storagemedium having stored therein the game program. That is, the functions ofthe above-described game system may be provided by the game program tothe game system.

According to the illustrative embodiments, the display area isdetermined based on the frame virtually set in the three-dimensionalgame space. As such, by determining the display area (view volume)without using a fixation point, it is possible to prevent a situation inwhich only a specific single object is displayed at the center of thescreen. Therefore, even the game has a plurality of objects to getattention, each object can be displayed similarly. That is, a pluralityof objects can be displayed so as to be easy to view.

Also, the display control means determines points on the straight lineseach passing through the relevant vertex of the set frame as thevertices of the view volume. With this, the view volume can be easilydetermined based on the direction of the line of sight.

Furthermore, a plane perpendicular to the direction of the line of sightis set as the frame setting plane. Therefore, the positional relationbetween the selected objects and the frame on the frame setting plane isidentical to that between the selected objects and the display screen ona game image actually displayed. Therefore, the frame can be set withthe actual display state being accurately reflected thereon, therebymaking it easier to set the frame.

Still further, points on the straight lines connecting the viewing pointand the vertices of the frame set by the frame setting means aredetermined as the vertices of the view volume. With this, the viewvolume can be easily determined based on the viewing point.

Still further, the frame enlarging means can prevent any selected objectfrom being displayed at the edge of the screen. Therefore, the pluralityof selected objects can be displayed so as to be easier to view.

Still further, the size of the display area is changed only when both ofthe height and the width of the frame are changed by the aspect ratiocorrecting means. That is, when only either one of the height and thewidth of the first frame is changed, the size of the display area is notchanged. Therefore, frequent changes in size of the display area can befurther prevented, thereby improving viewability of the screen. Also, bycorrecting the aspect ratio, the game image can be prevented from beingextended in the height or width direction. The shape of the nearclipping plane and the shape of the far clipping plane of the viewvolume always have a shape similar to the shape of the screen area onwhich the game image of a game world is to be displayed. Therefore, thegame image can be displayed so as to be always easy to view.Furthermore, when the frame is corrected so that the frame deformed bythe frame deforming means is positioned at a center of a frame havingthe corrected aspect ratio, information that would be required for theplayer(s), that is, the selected objects, are displayed near the centerof the screen. Therefore, the game screen can be displayed so as to beeasier to view.

Still further, when the selected objects include at least a plurality ofplayer characters operated by a plurality of players, all playercharacters can be displayed so as to be easy to view. Therefore, adisplay that is easy to view can be offered to all players.

These and other aspects illustrative embodiments will become moreapparent from the following detailed description of the illustrativeembodiments when taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an external view of a game system 1;

FIG. 2 is a functional block diagram showing a game machine 3;

FIG. 3 is an illustration showing a game space formed by a gameaccording to an illustrative embodiment;

FIG. 4 is an illustration showing a frame setting plane set in a gamespace 71 shown FIG. 3;

FIG. 5 is an illustration for describing a process of projecting aposition of each selected object onto a frame setting plane 76;

FIG. 6 is an illustration showing a frame set on the frame setting plane76;

FIG. 7 is an illustration showing a state in which the upper side of afirst frame 77 is moved;

FIG. 8 is an illustration showing a state in which the lower side of thefirst frame 77 is moved;

FIG. 9 is an illustration showing a state in which the left side of thefirst frame 77 is moved;

FIG. 10 is an illustration showing a state in which the right side ofthe first frame 77 is moved;

FIG. 11 is an illustration showing the first frame 77 and a second frame78;

FIGS. 12A and 12B are illustrations for describing a process ofcorrecting an aspect ratio of the second frame 78;

FIGS. 13A and 13B are illustrations for describing processes ofdetermining a display area;

FIG. 14 is an illustration showing a memory map of a work memory 32;

FIG. 15 is a main flowchart of a game process to be performed in thegame system according to the present embodiment;

FIGS. 16 and 17 area flowchart showing a flow of a detailed process ofstep S4 shown in FIG. 15;

FIG. 18 is a flowchart showing a flow of a detailed process of step S5shown in FIG. 15;

FIG. 19 is a flowchart showing an exemplary modification of a firstframe setting process; and

FIG. 20 is an illustration for describing a process of projecting theselected objects onto the frame setting plane based on the position of aviewing point.

DESCRIPTION OF THE ILLUSTRATIVE EMBODIMENTS

A game system 1 according to one illustrative embodiment is describedbelow. FIG. 1 is an external view of the game system 1. In thefollowing, a non-portable game machine is taken as an example of thegame system according to the illustrative embodiments for description.However, the game system according to the illustrative embodiments isnot restricted to a non-portable game machine, but may be applicable todevices having incorporated therein a computer for executing a gameprogram, such as portable game machines, arcade game machines, portableterminals, cellular phones, or personal computers.

In FIG. 1, the game system 1 is configured such that a non-portable gamemachine (hereinafter simply referred to as a game machine) 3 isconnected via a connection code to a television receiver (hereinafterreferred to as a television) 2, which is one example of a displaydevice. The game machine 3 has connected thereto a controller 6 having aplurality of operation switches operable by a player. The game machine 3has removably inserted therein an optical disc 4, which is one exampleof an information storage medium storing a game program. Also, asrequired, the game machine 3 has removably inserted therein a memorycard 5 including, for example, a flash memory for storing save data,etc. The game machine 3 executes the game program stored in the opticaldisc 4 to cause the execution results to be displayed on the television2 as a game image. Furthermore, the game machine 3 can use the save datastored in the memory card 5 to play a portion continued from thepreviously executed portion of the game, or can reproduce the previousstate of the game to cause a game image in that state to be displayed onthe television 2. The player of the game machine 3 operates thecontroller 6 while viewing the game image displayed on the television 2,thereby enjoying the game.

As described above, the controller 6 is connected to the game machine 3via the connection code, which is removable from the game machine 3. Thecontroller 6 is an operation means for mainly operating a player object(typically, a game main character to be controlled by the player)appearing in a game space displayed on the television 2, and includesinput units, such as operation buttons, keys, a stick, etc.Specifically, the controller 6 has formed thereon grip portions held bythe player. Furthermore, the controller 6 includes a main stick 61 a anda cross key 61 d, which are operable typically by the left thumb of theplayer, and a C stick 61 c and an A button 61 b, which are operabletypically by the right thumb of the player. The controller 6 furtherinclude a B button, an X button, a Y button, a start-pause button, an Rbutton, which is operable typically by the right forefinger of theplayer, and an L button, which is operable typically by the leftforefinger of the player. For example; when the player enjoys a gamethat will be described further below by operating the controller 6, themain stick 61 a is used to indicate a movement of the player characteroperated by the player in a game world. Other operation switches may beused in the course of the game. However, operations of these operationswitches are not directly related to the illustrative embodiments andtherefore are not described herein. Also, in the game system 1, with aplurality of controllers 6 being connected to the game machine 3, aplurality of players can simultaneously play the game.

With reference to FIG. 2, the structure of the game machine 3 isdescribed below. FIG. 2 is a functional block diagram of the gamemachine 3. In FIG. 2, the game machine 3 includes a Central ProcessingUnit (CPU) 31 of, for example, 128 bits, for executing various programs.The CPU 31 executes a boot program stored in a boot ROM not shown toboot a memory, such as a work memory 32, once reads the game programstored in the optical disc 4 into the work memory 32, and then executesthe game program for performing game processing in accordance with thatgame program.

The CPU 31 is connected via a bus to the work memory 32, a video RAM(VRAM) 33, an external memory interface (I/F) 34, a controller interface(I/F) 35, a Graphics Processing Unit (GPU) 36, and an optical disc drive37.

The work memory 32 is a storage area used by the CPU 31 and stores, asappropriate, a game program required for processes to be performed bythe CPU 31. For example, the work memory 32 stores the game program andvarious data read from the optical disc 4 (refer to FIG. 14). These gameprogram and various data stored in the work memory 32 are executed bythe CPU 31. The VRAM 33 stores game image data for displaying a gameimage on the television 2. The external memory I/F 34 communicablyconnects the game machine 3 and the memory card 5 by fitting the memorycard 5 in a connector not shown. The CPU 31 accesses a backup memoryprovided in the memory card 5 via the external memory I/F 34. Thecontroller I/F 35 communicably connects an external device and the gamemachine 3 together via a connector not shown. For example, thecontroller 6 is fitted in the above connector via a connection code andis connected to the game machine 3 via the controller I/F 35. The GPU 36is structured, for example, by a semiconductor chip for performing acalculation process, such as a vector operation and a rendering process,required for displaying 3D graphics in response to an instruction fromthe CPU 31. A game image rendered by the GPU 36 is displayed on thetelevision 2. Upon reception of an instruction from the CPU 31, theoptical disc drive 37 reads the game program and various data includingimage data and sound data stored in the optical disc 4.

Next, description is made to a game to be displayed on the television 2by the game program stored in the optical disc 4 being executed by thegame machine 3. Mainly described herein is a scheme of determining adisplay area to be displayed on the television 2 from among areas in agame space. Also, the game described below is assumed to be a game thatcan be played by a plurality of players. Specifically, it is assumedthat three players (first to third players) operate three playercharacter (first to third player characters), respectively, appearing onthe game. Therefore, although not shown in FIG. 1, it is assumed in oneillustrative embodiment that the controller 6 and at least two othercontrollers are connected to the game machine. Furthermore, thecontroller to be used by the first player is referred to as a firstcontroller, the controller to be used by the second player is referredto as a second controller, and the controller to be used by the thirdplayer is referred to as a third controller.

First, the display area determining scheme to be performed in the gamesystem according to one illustrative embodiment is schematicallydescribed below. In this scheme, the display area is set based on frames(first and second frames, which will be described further below)virtually set in the game space. These frames are set so that objects tobe displayed (selected objects, which will be described further below)are displayed inside of the frames. Furthermore, the display area isdetermined so that at least an area inside of the frames is displayed.With this, the objects to be displayed are positioned within the displayarea, and therefore can be displayed on the television 2. In thefollowing, the display area determining scheme to be performed in thegame system 1 according to one illustrative embodiment is describedbelow in detail with reference to FIGS. 3 through 11.

FIG. 3 is an illustration showing the game space formed by the gameaccording to one illustrative embodiment. In the game system 1, a gamescreen representing a virtual game space 71 viewed from a direction of aline of sight 73 is displayed on the television 2. In one illustrativeembodiment, the direction of the line of sight 73 is predetermined. Inthe game space 71, a plurality of objects appear. In FIG. 3, the gamespace 71 includes player characters 81 through 83 operated by theplayers and a first enemy character 84 whose movement is controlled inthe game machine 3. Here, the first player character 81 is operated bythe first player, the second player character 82 is operated by thesecond player, and the third player character 83 is operated by thethird player. Also, since the game space 71 is a three-dimensional gamespace, the position in the three-dimensional space of each of theobjects (typically, the first through three player characters 81 through83 and the first enemy character 84) is represented by using athree-dimensional world coordinate system 72. That is, the position ofeach object in the game space is represented by a three-dimensionalcoordinate value (x, y, z). Such a three-dimensional coordinate value iscalled a world coordinate value.

In one illustrative embodiment, the objects appearing on the game space71 are classified into two types, selected objects and non-selectedobjects. The selected objects are objects that are taken as a referencefor determining the display area. Two or more objects selected from theobjects appearing on the game space 71 are set as the selected objects.It is assumed in this illustrative embodiment that the type (either aselected object or a non-selected object) is predetermined for eachobject appearing in the game. Also, the object to which the player isassumed to pay attention is preferably set as a selected object. This isbecause the display area is determined so as to display all selectedobjects (however, an exception may be allowed, which will be describedfurther below with reference to FIG. 19). In this illustrativeembodiment, it is assumed that the player characters 81 through 83 andthe first enemy character 84 are set as selected objects. It is alsoassumed that a second enemy character 85, which will be describedfurther below, is assumed to be as a non-selected object. For example,the first enemy character 84 may be a boss character which is meant tobe important in the game scenario, while a second enemy character 85 maybe merely one of ordinary enemy characters appearing in the game space.

FIG. 4 is an illustration showing a frame setting plane set in the gamespace shown in FIG. 3. In FIG. 4, a frame setting plane 76 is set in thegame space 71. The frame setting plane 76 is a plane on which theabove-stated frames are set. The frame setting plane 76 is set so as tobe perpendicular to the line of sight 73. Furthermore, in oneillustrative embodiment, the position of the frame setting plane 76 isset as follows. That is, for each selected object, a point ofintersection of a coordinate axis 73′ that is parallel to the line ofsight 73 and a line drawn from the three-dimensional coordinate value ofthe selected object so as to be perpendicular to the coordinate axis 73′is first calculated (for the first enemy character 84, a point Q shownin FIG. 4 is calculated). Then, of those calculated points for allselected objects, one point having the smallest value on the coordinateaxis 73′ that runs positive in the direction of the line of sight 73 isspecified. Then, the frame setting plane 76 is set at a position locatedin a direction reverse to the direction of the line of sight 73 and apredetermined distance L away from the specified point having thesmallest value.

Also, in FIG. 4, a two-dimensional frame coordinate system 75 forindicating positions on the frame setting plane 76 is set. An origin 75a of the frame coordinate system 75 is set to a point to which an origin72 a of the world coordinate system 72 is projected on the frame settingplane 76. Specifically, a point of intersection of a line extending fromthe origin 72 a in parallel with the line of sight 73 and the framesetting plane 76 is taken as the origin 75 a. The X axis and the Y axisof the frame coordinate system 75 are respectively set in thepredetermined directions. It is assumed in one illustrative embodimentthat the X axis coincides with the width of the display area, while theY axis coincides with the height of the display area. Here, in order toclearly distinguish the world coordinate system 72 from the framecoordinate system 75, the world coordinate system 72 is represented bylowercase alphabetical characters (x axis, y axis, and z axis), whilethe frame coordinate system 75 is represented by uppercase alphabeticalcharacters (X axis and Y axis).

FIG. 5 is an illustration for describing a process of projecting theposition of each selected object onto the frame setting plane. After theframe setting plane 76 and the frame coordinate system 75 are set, theposition of each selected object is projected onto the frame settingplane 76. Each selected object is projected onto the frame setting plane76 at a point of intersection of the frame setting plane 76 and astraight line extending along the line of sight 73 from the pointrepresenting the world coordinate value. Here, a coordinate value of thepoint at which a selected object is projected on the frame setting plane76 is referred to as a frame coordinate value. In one illustrativeembodiment, the game machine 3 represents the frame coordinate valuebased on the two-dimensional frame coordinate system 75. Specifically, acoordinate value of a point at which the player character 81 having aworld coordinate value (x′, y′, z′) is projected onto the frame settingplane 76 is calculated as a frame coordinate value (X′, Y′) of theplayer character 81. Also, a frame coordinate value of each of the otherplayer characters 82 and 83 and the first enemy character 84 iscalculated in a manner similar to that for the frame coordinate value ofthe player character 81. As such, in this illustrative embodiment, thethree-dimensional world coordinate system 72 is converted to thetwo-dimensional frame coordinate system 75 to represent a framecoordinate value, thereby allowing a frame setting process to be easilyperformed. In another illustrative embodiment, the frame coordinatevalue may be represented based on the world coordinate system 72.

FIG. 6 is an illustration showing frames set on the frame setting plane76. In FIG. 6, the frame setting plane 76 is viewed in the direction ofthe line of sight 73. After calculating the frame coordinate value ofeach selected object, the game machine 3 sets a first frame 77 on theframe setting plane 76. Note that the first frame 77 is virtually set onthe frame setting plane 76. Therefore, the first frame 77 is notdisplayed on the game screen. In one illustrative embodiment, the firstframe 77 has a shape of a rectangle (including a square). Furthermore,the first frame 77 is a rectangle having two sides parallel to the Xaxis of the frame coordinate system 75 and the other two sides parallelto the Y axis thereof. Therefore, in an actual process, the first frame77 can be represented by using the frame coordinate values indicatingpositions of two vertices located on a diagonal line in the rectangle((Xa, Yb) and (Xb, Ya) in FIG. 6). With this, the position of an upperside 77 a of the first frame 77 a can be represented by Yb, the positionof a lower side 77 b thereof can be represented by Ya, the position of aleft side 77 c thereof can be represented by Xa, and the position of aright side 77 d thereof can be represented by Xb. In the followingdescription, the X axis direction is also referred to as a widthdirection, while the Y axis direction is also referred to as a heightdirection.

The first frame 77 is set so that the points indicated by the framecoordinate values of the selected objects are contained in the firstframe 77. That is, the first frame 77 is set so that the selectedobjects are located inside of the first frame 77 when viewed from thedirection of the line of sight 73. Furthermore, in the course of thegame process, the game machine 3 deforms the first frame 77 byindependently moving each side according to the movement of eachselected object. This process in the present embodiment is describedbelow in detail with reference to FIGS. 7 through 10.

FIG. 7 is an illustration showing a state in which the upper side of thefirst frame 77 is moved. It is assumed in FIG. 7 that the playercharacter 81 is moving downward in FIG. 7. With the player character 81moving downward, if an area that is inside of the first frame 77 and apredetermined distance α away from the upper side 77 a of the firstframe 77 includes no selected object, the upper side 77 a of the firstframe 77 is moved toward the inside of the first frame 77 (downward inFIG. 7) by a predetermined distance k (k<α).

FIG. 8 is an illustration showing a state in which the lower side of thefirst frame 77 is moved. It is assumed in FIG. 8 that the playercharacter 83 is moving upward in FIG. 8. As with FIG. 7, if an area thatis inside of the first frame 77 and the predetermined distance a awayfrom the lower side 77 a of the first frame 77 includes no selectedobject, the lower side 77 b of the first frame 77 is moved toward theinside of the first frame 77 (upward in FIG. 7) by the predetermineddistance k.

FIG. 9 is an illustration showing a state in which the left side of thefirst frame 77 is moved. FIG. 10 is an illustration showing a state inwhich the right side of the first frame 77 is moved. The cases in FIGS.9 and 10 are similar to those in FIGS. 7 and 8. That is, after aselected object moves, if an area that is inside of the first frame 77and the predetermined distance α away from the left side 77 c or theright side 77 d of the first frame 77 includes no selected object, theleft side 77 c or the right side 77 d of the first frame 77 is movedtoward the inside of the first frame 77 by the predetermined distance k.

Also, if a selected object is moving toward the outside of the firstframe 77, the relevant side of the first frame 77 is moved toward theoutside of the frame in accordance with the movement. For example, ifthe player character is going over the upper side 77 a toward theoutside (upward in FIG. 7), the upper side 77 a is moved outward (upwardin FIG. 7) so that the player character is contained in the first frame77. Also, if the player character is going over the lower side 77 btoward the outside (downward in FIG. 7), the lower side 77 b is movedoutward (downward in FIG. 7). Furthermore, if the player character isgoing over the left side 77 c toward the outside (leftward in FIG. 7),the left side 77 c is moved outward (leftward in FIG. 7). Still further,if the player character is going over the right side 77 d toward theoutside (rightward in FIG. 7), the right side 77 d is moved outward(rightward in FIG. 7). Specifically, the game machine 3 causes a side ofthe first frame 77 to move to the position of the selected object thatis moving toward the outside of the first frame 77. With this, the gamemachine 3 controls the first frame 77 so that the selected objects arepositioned inside of the first frame 77. Also, each side of the firstframe 77 is moved independently according to the movement of a selectedobject. As will be described further below, the display area isdetermined so that an area defined by the first frame 77 is displayed.Therefore, the selected objects are always displayed on the game screen.

Upon setting the first frame 77, the game machine 3 sets a second framebased on the first frame 77. FIG. 11 is an illustration showing thefirst frame and the second frame. In FIG. 11, a second frame 78 isobtained by providing a margin of a predetermined distance 3 to thefirst frame 77. Specifically, the second frame 78 is obtained byextending the first frame 77 outward by the predetermined distance β. Asevident from FIG. 11, at least the predetermined distance β is providedbetween the second frame 78 and each selected object. The display areacan be determined so that at least an area defined by the second frame78 is displayed. With this, the selected objects are displayed at leastthe predetermined distance β away from the edge of the game screen. Thiscan prevent each selected object from being displayed at the edge of thegame screen.

In FIGS. 6 through 11 described above, the shapes of the first frame 77and the second frame 78 are approximately similar to the shape of ascreen area of the screen of the television 2 on which a game image ofthe game space 71 is displayed. However, the shapes of the first frame77 and the second frame 78 are set according to the positions of theselected objects, and therefore are not necessarily similar to the shapeof the screen area. That is, an aspect ratio (=width/height) of each ofthe first frame 77 and the second frame 78 is variable according to thepositions of the selected objects, and may not be equal to the aspectratio of the screen area, which has a predetermined constant value.Therefore, after setting the second frame 78, the game machine 3corrects the aspect ratio of the second frame 78 to the aspect ratio ofthe screen area.

FIGS. 12A and 12B are illustrations for describing a process ofcorrecting the aspect ratio of the second frame 78. FIG. 12A is anillustration for describing the process when the second frame 78 has awidth longer than its height (has a large aspect ratio). In FIGS. 12Aand 12B, a dotted line represents the second frame 78 before correction.As shown in FIG. 12A, when the second frame 78 has a width longer thanits height (has a large aspect ratio), the height of the second frame 78is corrected. Specifically, when the aspect ratio of the display area isA and the width of the second frame 78 is L1, correction is made so thata height L2 of the second frame 78 after correction becomes L2=L1/A.Furthermore, the height of the second frame 78 is corrected so as to beextended upward and downward equally.

On the other hand, FIG. 12B is an illustration for describing theprocess when the second frame 78 has a height longer than its width (hasa small aspect ratio). As shown in FIG. 12B, when the second frame 78has a height longer than its width (has a small aspect ratio), the widthof the second frame 78 is corrected. Specifically, correction is made sothat the width L1 of the second frame 78 after correction becomesL1=L2×A. Furthermore, the width of the second frame 78 is corrected soas to be extended rightward and leftward equally.

In FIGS. 12A and 12B, the second enemy character 85, which is anon-selected object, is shown. As shown in FIGS. 12A and 12B, after theaspect ratio is corrected, the non-selected object may be contained inthe second frame 78, but the frame setting process is not related to theposition of the non-selected object. Therefore, in the frame settingprocess, no consideration is given to the position of the non-selectedobject.

With the above processes, the second frame 78 for use in determining adisplay area is set on the frame setting plane 76. Upon setting thesecond frame 78, the game machine 3 determines a view volume based onthe second frame 78. The view volume represents a range of a game spaceto be displayed on a screen, or a space defined by vertices of a nearclip plane and vertices of a far clip plane. That is, the view volume isdetermined by determining each vertex of the near clip plane and the farclip plane based on the second frame 78. Specifically, points ofintersection of straight lines extending in a predetermined directionfrom the respective vertices of the second frame 78 and a planeperpendicular to the line of sight at a near clipping position are setas vertices of a near clipping plane, and points of intersection of thestraight lines and a plane perpendicular to the line of sight at a farclipping position are set as vertices of a far clipping plane. With theview volume being determined in the above-described manner, the areadefined by the second frame 78 when viewed from the viewing point isdisplayed as a game image. Typical schemes for determining the displayarea are parallel projection and perspective projection. A process ofdetermining the display area through parallel projection or perspectiveprojection is described below in detail.

FIGS. 13A and 13B are illustrations for describing processes ofdetermining a display area. FIG. 13A is a process of determining adisplay area through parallel projection. In parallel projection, pointsof intersection of straight lines extending from the respective verticesof the second frame 78 along the line of sight 73 and a planeperpendicular to the line of sight at the near clipping position are setas vertices of a near clipping plane 91. Also, points of intersection ofthe straight lines and a plane perpendicular to the line of sight at thefar clipping position are set as vertices of a far clipping plane 92.With this, in the game space 71, an area defined by a rectangularparallelepiped with the near clipping plane 91 and the far clippingplane 92 being taken as its bases are determined as the display area,that is, the view volume.

FIG. 13B is an illustration for describing a process of determining adisplay area through perspective projection. In perspective projection,the position of a viewing point 93 is first determined. The viewingpoint 93 represents a position of a virtual camera set in the game space71. That is, the position of the viewing point 93 is determined based onthe second frame 78. Specifically, the position of the viewing point 93is determined at a point that is positioned on a straight line extendingfrom the center of the second frame 78 in a direction reverse to theline of sight 73 and is defined by an angle of view θ1 in the Xdirection. Alternatively, in place of the angle of view θ1 in the Xdirection, the position of the viewing point can be determined by usingan angle of view θ2 in the Y direction. After the viewing point isdetermined in the above-described manner, points of intersection ofstraight lines connecting the vertices of the second frame 78 and theviewing point together and a plane perpendicular to the line of sight atthe near clipping position are set as vertices of a near clipping plane91. Also, points of intersection of the straight lines and a planeperpendicular to the line of sight at the far clipping position are setas vertices of a far clipping plane 92. With this, the display area,that is, the view volume, is determined.

In the above description, if no correction is made to the aspect ratioof the second frame 78, the shapes of the near clipping plane and thefar clipping plane of the view volume are similar to the shape of thesecond frame 78 before an aspect ratio correcting process is performed.Therefore, the shapes (aspect ratio) of the near clipping plane and thefar clipping plane might be different from the shape (aspect ratio) ofthe screen area on which the game image in the game space 71 isdisplayed. If they are different from each other, the game image of thearea included in the view volume is displayed as being deformedaccording to the shape of the screen area. For example, if the shape ofthe second frame 78 has a width longer than its height, the game imageof the area included in the view volume is displayed as being extendedin the height direction. Similarly, if the shape of the second frame 78has a height longer than its width, for example, the game image of thearea included in the view volume is displayed as being extended in thewidth direction. Therefore, if no aspect ratio correcting process isperformed, the game image might become an image extended in the heightor width direction, and this is not easy to view. By contrast, in thisillustrative embodiment, by correcting the aspect ratio, the shape ofthe near clipping plane and the far clipping plane are always similar tothat of the above screen area. Therefore, a game image that is easy toview can be always displayed.

Next, with reference to FIGS. 14 through 19, a game process performed bythe game machine 3 is described. When the game machine 3 is powered on,the CPU 31 of the game machine 3 executes the boot program stored in theboot ROM not shown to initialize each unit, typically the work memory32. Then, the game program stored in the optical disc 4 is read via theoptical disc drive 37 into the work memory 32, thereby starting theexecution of the game program. As a result, with the game space beingdisplayed on the television 2 via the GPU 36, the game is started. Aflowchart shown in FIG. 15 shows processes after the above-describedprocess.

Prior to details of the game process, data stored in the work memory 32for use in the game process is described. FIG. 14 is an illustrationshowing a memory map of the work memory 32. The work memory 32 typicallyhas stored therein character world coordinate data 321, character framecoordinate data 322, first frame data 323, second frame data 324, anddisplay size data 325. In FIG. 14, only data related to the processaccording to one illustrative embodiment is shown, and other data (forexample, image data of objects) is not shown.

The character world coordinate data 321 indicate a position of eachcharacter (object) in the world coordinate system 72, that is, a worldcoordinate value (x, y, z) thereof. The character world coordinate data321 includes data indicative of the world coordinate values of the firstthrough third player characters 81 through 83 and also the worldcoordinate values of the first and second enemy characters 84 and 85.That is, the character world coordinate data 321 also includes worldcoordinate values of non-selected objects.

The character frame coordinate data 322 indicate a position of eachselected object in the frame coordinate system 75, that is, a framecoordinate value (X, Y) thereof. The character frame coordinate data 322includes the frame coordinate values of the first through third playercharacters 81 through 83 and the first enemy character 84, that areselected objects.

The first frame data 323 indicates the first frame 77. As describedabove, in this illustrative embodiment, the frame has a rectangularshape, and therefore the position and the size of the first frame 77 inthe frame coordinate system 75 can be represented by the positions oftwo vertices on a diagonal line. Here, the coordinate value of theupper-left vertex ((Xa, Yb) shown in FIG. 6) and the coordinate value ofthe lower-right vertex ((Xb, Ya) shown in FIG. 6) are used to representthe first frame 77.

The second frame data 324 indicates the second frame 78. As with thefirst frame 77, the second frame 78 can be represented by the positionsof two vertices on a diagonal line. Here, a coordinate value of theupper-left vertex (Xc, Yd) and a coordinate value of the lower-rightvertex (Xd, Yc) are used to represent the second frame 78.

The display size data 325 indicates the height and the width of thesecond frame 78. Data indicative of the height L2 of the second frame 78is obtained by the above-described second frame data 324. Specifically,L2=Yd−Yc. Similarly, the length L1 of the second frame 78 can beobtained from the above-described second frame data 324: L1=Xd−Xc.

The game process is described below in detail. FIG. 15 is a mainflowchart showing the game process to be performed in the game systemaccording to this illustrative embodiment. First, in step S1, a gameprocess initializing process is performed. Specifically, the directionof the line of sight 73, an initial position of each of the playercharacters 81 through 83 in the game space 71, an initial position ofeach of the enemy characters (such as the first enemy character 84 andthe second enemy character 85), and an initial position of each of theframes (the first frame 77 and the second frame 78) are typically set.Here, the initial position of each frame is set at a point predeterminedin the scheme described with reference to FIGS. 6, 11, 12A, and 12Bbased on the initial positions of each of the player characters 81through 83 and the first enemy character 84, which are selected objects.Also, the data initially set in step S1 is written in the work memory32. The initial positions of the player characters 81 through 83 and theinitial positions of the enemy characters are written in the work memory32 as the character world coordinate data 321. Also, the initialpositions of the first frame 77 and the second frame 78 are written inthe work memory 32 as the first frame data 323 and the second frame data324, respectively.

When the initial setting in step S1 is completed, processes in steps S2through S7 are repeated thereafter. A loop of steps S2 through S7 is aprocess performed during one frame of the game image. First, in step S2,the CPU 31 controls a movement of each of the player characters 81through 83 in the game space 71 based on an operation input from eachplayer through the controller 6. Specifically, based on an operationinput from the first controller, the position of the first playercharacter 81 in the game space 71 is determined. That is, a worldcoordinate value of the player character 81 is calculated, and then thecharacter world coordinate data 321 in the work memory 32 is updated tothe calculated world coordinate value. Similarly, the position of thesecond player character 82 in the game space 71 is determined based onan operation input from the second controller, while the position of thethird player character 83 in the game space 71 is determined based on anoperation input from the third controller.

Next, in step S3, the CPU 31 controls the movement of each enemycharacter in the game space 71. Specifically, according to apredetermined algorithm, the position of each enemy character in thegame space 71 is determined. That is, a world coordinate value of eachenemy character is calculated, and then the character world coordinatedata 321 in the work memory 32 is updated to the calculated worldcoordinate value.

In steps S2 and S3, it is assumed that the concept of “movement of acharacter” includes “addition of a character” and “deletion of acharacter”. That is, in steps S2 and S3, a new character may appear inthe game space 71, or the existing character may disappear from the gamespace 71. Also, conditions of addition or deletion of a character may bearbitrary. For example, a new enemy character may appear on conditionthat a player character gets a particular item. Also, the existingplayer character may disappear on condition that a physical fitnessvalue (which is assumed to be predetermined as attribute data) of thatplayer character becomes 0.

With the above steps S2 and S3, the position of each character in thenext frame (a game image displayed in step S7) is determined. Then, theframes are set in the next steps S4 and S5. Based on the frames, theview volume is set in step S6. Then, the game image of the set viewvolume is displayed in step S7. Referring back to step S4, a first framesetting process is performed. FIGS. 16 and 17 are a flowchart showing aflow of the detailed process in step S4 shown in FIG. 15. In the firstframe setting process the CPU 31 first sets, in step S401, the framesetting plane 76 in the game space 71 (refer to FIG. 4). At this time,the frame coordinate system 75 is also set.

Next, in steps S402 and S403, each selected character is projected ontothe frame setting plane 76 set in step S401 (refer to FIG. 5). That is,in step S402, from the world coordinate value of a selected character,the CPU 31 calculates a frame coordinate value of that selectedcharacter. Specifically, based on the world coordinate value stored inthe work memory 32 of a selected character, a frame coordinate value ofthat selected character is calculated. The calculated frame coordinatevalue of each selected character is written in the work memory 32 as thecharacter frame coordinate data 322. Next, it is determined in step S403whether frame coordinate values have been calculated for all of theselected characters. If it is determined that frame coordinate valueshave been calculated for all of the selected characters, the proceduregoes to step S404. On the other hand, if it is determined that framecoordinate values have not yet been calculated for all of the selectedcharacters, the procedure returns to step S402. That is, the CPU 31repeats the processes in steps S402 and S403 until the frame coordinatevalues of all of the selected characters have been calculated.

With the above processes in steps S402 and S403, the position of eachselected character on the frame setting plane 76 is calculated. Thismakes it possible to determine a positional relation between theselected characters and the first frame 77 on the frame setting plane 76(refer to FIG. 6). Now, in the following steps S404 through S419, it isdetermined whether the first frame 77 is required to be deformed, and ifrequired, then the first frame 77 is deformed. First, in steps S404through S411, a process of deforming the first frame 77 in an expandingmanner is performed. Then, in steps S412 through S419, a process ofdeforming the first frame 77 in a reducing manner is performed.

First, in step S404, it is determined whether a selected characteroutside of the upper side 77 a of the first frame 77 (here, in thepositive direction of the Y axis) is present. Specifically, the CPU 31compares Yb in the upper-left coordinates (Xa, Yb) of the first framedata 323 stored in the work memory 32 with the Y coordinate of eachselected character in the character frame coordinate data 322 stored inthe work memory 32. With this, it is determined whether a selectedcharacter whose Y coordinate is larger than Yb is present. If such aselected character is present, the selected character is determined asbeing outside of the first frame 77, and then a process in step S405 isperformed. On the other hand, if no such selected character is present,it is determined that no selected character is outside of the firstframe 77, and then a process in step S406 is performed.

Alternatively, in the above step S404, it may be determined whether aselected character outside of the upper side 77 a of the first frame 77by a predetermined distance is present. This reduces the frequency ofmoving the first frame 77, thereby reducing the frequency of moving thedisplay area. Therefore, the game screen can be displayed so as to beeasy to view. The same goes for steps S406, S408, and S410, which willbe described further below.

In step S405, the upper side 77 a is moved. Specifically, the upper side77 a is moved to the position of the selected character determined asbeing outside of the first frame 77. That is, Yb of the first frame data323 stored in the work memory 32 is updated to the Y coordinate of thatselected character. After the process in step S405, the process in stepS406 is performed.

In step S406, it is determined whether a selected character outside ofthe lower side 77 b of the first frame 77 (here, in the negativedirection of the Y axis) is present. A specific determining scheme issimilar to that in step S404. That is, Ya of the lower-right coordinates(Mb, Ya) of the first frame data 323 is compared with the Y coordinateof each selected character in the character frame coordinate data 322.Then, whether a selected character outside of the first frame 77 ispresent is determined depending on whether a selected character whose Ycoordinate is smaller than Ya is present. If it is determined in stepS406 that a selected character outside of the first frame 77 is present,a process in step S407 is performed. On the other hand, if it isdetermined that no selected character outside of the first frame 77 ispresent, a process in step S408 is performed.

In step S407, the lower side 77 b is moved. Specifically, the lower side77 b is moved to the position of the selected character determined asbeing outside of the first frame 77. That is, Ya of the first frame data323 is updated to the Y coordinate of that selected character. After theprocess in step S407, the process in step S408 is performed.

In step S408, it is determined whether a selected character outside ofthe right side 77 d of the first frame 77 (here, in the positivedirection of the X axis) is present. A specific determining scheme issimilar to that in step S404. That is, Xb of the lower-right coordinates(Xb, Ya) of the first frame data 323 is compared with the X coordinateof each selected character in the character frame coordinate data 322.Then, whether a selected character outside of the first frame 77 ispresent is determined depending on whether a selected character whose Xcoordinate is larger than Xb is present. If it is determined in stepS408 that a selected character outside of the first frame 77 is present,a process in step S409 is performed. On the other hand, if it isdetermined that no selected character outside of the first frame 77 ispresent, a process in step S410 is performed.

In step S409, the right side 77 d is moved. Specifically, the right side77 d is moved to the position of the selected character determined asbeing outside of the first frame 77. That is, Xb of the first frame data323 is updated to the X coordinate of that selected character. After theprocess in step S409, the process in step S410 is performed.

In step S410, it is determined whether a selected character outside ofthe left side 77 c of the first frame 77 (here, in the negativedirection of the X axis) is present. A specific determining scheme issimilar to that in step S404. That is, Xa of the upper-left coordinates(Xa, Yb) of the first frame data 323 is compared with the X coordinateof each selected character in the character frame coordinate data 322.Then, whether a selected character outside of the first frame 77 ispresent is determined depending on whether a selected character whose Xcoordinate is smaller than Xa is present. If it is determined in stepS410 that a selected character outside of the first frame 77 is present,a process in step S411 is performed. On the other hand, if it isdetermined that no selected character outside of the first frame 77 ispresent, a process in step S412 is performed.

In step S411, the left side 77 c is moved. Specifically, the left side77 c is moved to the position of the selected character determined asbeing outside of the first frame 77. That is, Xa of the first frame data323 is updated to the X coordinate of that selected character. After theprocess in step S411, the process in step S412 is performed.

The processes in steps S412 through S419 are related to deformation ofthe frame in a reducing manner. First, in step S412, it is determinedwhether every selected character is inside of the upper side 77 a of thefirst frame 77 (here, in the negative direction on the Y axis) and apredetermined distance α away from the upper side 77 a. Specifically, Ybof the upper-left coordinates (Xa, Yb) in the first frame data 323 iscompared with the Y coordinate of each selected character in thecharacter frame coordinate data 322. It is then determined whether the Ycoordinate of every selected character is smaller than Yb−α. If it isdetermined that the Y coordinate of every selected character is smallerthan Yb−α, it is determined that every selected character is locatedinside of and the predetermined distance α away from the upper side 77a, and then the process in step S413 is performed. On the other hand, ifit is determined that at least one selected character has a Y coordinatevalue that is larger than Yb−α, it is determined that at least oneselected character is located within the predetermined distance α fromthe upper side 77 a, and then the process in step S414 is performed.

In step S413, the upper side 77 a is moved (refer to FIG. 7).Specifically, the upper side 77 a is moved toward the inside of thefirst frame 77 by the predetermined distance k. That is, Yb in the firstframe data 323 is updated to a value obtained by subtracting k from Yb.After the process in step S413, the process in step S414 is performed.

In step S414, it is determined whether every selected character isinside of the lower side 77 b of the first frame 77 (here, in thepositive direction on the Y axis) and the predetermined distance α awayfrom the lower side 77 b. A specific determining scheme is similar tothat in step S412. That is, Ya of the lower-right coordinates (Xb, Ya)in the first frame data 323 is compared with the Y coordinate of eachselected character in the character frame coordinate data 322. It isthen determined whether the Y coordinate of every selected character islarger than Ya+α. If it is determined that every selected character islocated inside of and the predetermined distance a away from the lowerside 77 b, the process in step S415 is performed. On the other hand, ifit is determined that at least one selected character is located withinthe predetermined distance α from the lower side 77 b, the process instep S416 is performed.

In step S415, the lower side 77 b is moved (refer to FIG. 8).Specifically, the lower side 77 b is moved toward the inside of thefirst frame 77 by the predetermined distance k. That is, Ya in the firstframe data 323 is updated to a value obtained by adding k to Ya. Afterthe process in step S415, the process in step S416 is performed.

In step S416, it is determined whether every selected character isinside of the right side 77 d of the first frame 77 (here, in thenegative direction on the X axis) and the predetermined distance α awayfrom the right side 77 d. A specific determining scheme is similar tothat in step S412. That is, Xb of the lower-right coordinates (Xb, Ya)of the first frame data 323 is compared with the X coordinate in eachselected character in the character frame coordinate data 322. Then, itis determined whether every selected character is located inside of andthe predetermined distance α away from the right side 77 d depending onwhether the X coordinate of every selected character is smaller thanXb−α. If it is determined in step S416 that every selected character islocated inside of and the predetermined distance α away from the rightside 77 d, the process in step S417 is performed. On the other hand, ifit is determined that at least one selected character is located withinthe predetermined distance α from the right side 77 d, the process instep S418 is performed.

In step S417, the right side 77 d is moved (refer to FIG. 9).Specifically, the right side 77 d is moved toward the inside of thefirst frame 77 by the predetermined distance k. That is, Xb in the firstframe data 323 is updated to a value obtained by subtracting k from Xb.After the process in step S417, the process in step S418 is performed.

In step S418, it is determined whether every selected character isinside of the left side 77 c of the first frame 77 (here, in thepositive direction on the X axis) and the predetermined distance α awayfrom the left side 77 c. A specific determining scheme is similar tothat in step S412. That is, Xa of the upper-left coordinates (Xa, Yb) inthe first frame data 323 is compared with the X coordinate of eachselected character in the character frame coordinate data 322. Then, itis determined whether every selected character is located inside of andthe predetermined distance α away from the left side 77 c depending onwhether the X coordinate of every selected character is larger thanXa+α. If it is determined in step S418 that every selected character islocated inside of and the predetermined distance α away from the leftside 77 c, the process in step S419 is performed. On the other hand, ifit is determined that at least one selected character is located withinthe predetermined distance α from the left side 77 c, the CPU 31 endsthe first frame setting process.

In step S419, the left side 77 c is moved (refer to FIG. 10).Specifically, the left side 77 c is moved toward the inside of the firstframe 77 by the predetermined distance k. That is, Xa in the first framedata 323 is updated to a value obtained by adding k to Xa. After theprocess in step S419, the CPU 31 ends the first frame setting process.With the above first frame setting process, the first frame 77 is set.

Returning to description of FIG. 15, after the first frame settingprocess (step S4), a second frame setting process is performed in stepS5. The second frame setting process is a process for setting the secondframe 78 based on the first frame 77 set in step S4. FIG. 18 is aflowchart showing a flow of the detailed process in step S5 shown inFIG. 15. In steps S501 through S506 of the second frame setting process,the second frame 78 is first set based on the first frame 77.Furthermore, in steps S507 through S509, the aspect ratio of the secondframe 78 is corrected.

In FIG. 18, it is first determined in step S501 whether the height ofthe first frame 77 is larger than the predetermined value La. Thisdetermination is made based on Ya and Yb of the first frame data 323stored in the work memory 32. That is, if Yb−Ya is larger than thepredetermined value La, a process in step S502 is performed. On theother hand, if Yb−Ya is equal to or smaller than the predetermined valueLa, a process in step S503 is performed.

In step S502, the height of the second frame 78 is set to have a lengthobtained by extending the height of the first frame 77 by apredetermined distance (2×β) (refer to FIG. 11). Specifically, Yc of thesecond frame data 324 stored in the work memory 32 is updated to Ya−β.Also, Yd of the second frame data 324 is updated to Yb+β. After theprocess in step S502, a process in step S504 is performed.

In step S503, the height of the second frame 78 is set to have apredetermined height value. Here, the predetermined height value is avalue indicative of a minimum height of the second frame 78 obtained byadding 2β to the predetermined value La. That is, when the predeterminedheight value is La′, La′=La+2β. Therefore, when the height of the firstframe 77 is smaller than the predetermined value La, the height of thesecond frame has a length obtained by extending the height of the firstframe 77 having the predetermined value by the predetermined distance(2×β). Also at this time, the position of the second frame 78 is set sothat the upper side 77 a of the first frame 77 is extended in the heightdirection by a distance equal to a distance by which the lower side 77 bthereof is extended in the height direction. Therefore, the upper side77 a and the lower side 77 b are each extended in the height directionby {La′−(Yb−Ya)}/2. That is, Yc of the second frame data 324 is updatedto Ya−{La′−(Yb−Ya)}/2. Also, Yd of the second frame data 324 is updatedto Yb+{La−(Yb−Ya)}/2. After the process in step S503, the process instep S504 is performed.

Next, in step S504, it is determined whether the width of the firstframe 77 is larger than a predetermined value Lb. This determination ismade based on Xa and Xb of the first frame data 323 stored in the workmemory 32. That is, if Xb-Xa is larger than the predetermined value Lb,a process in step S505 is performed. On the other hand, if Xb−Xa isequal to or smaller than the predetermined value Lb, a process in stepS506 is performed.

In step S505, the width of the second frame 78 is set so as to have alength obtained by extending the width of the first frame 77 by thepredetermined distance (2×β) (refer to FIG. 11). Specifically, Xc of thesecond frame data 324 stored in the work memory 32 is updated to Xa−β.Also, Xd of the second frame data 324 is updated to Xb+β. After theprocess in step S505, a process in step S507 is performed.

In step S506, the width of the second frame 78 is set to have apredetermined width value. Here, the predetermined width value is avalue indicative of a minimum width of the second frame 78 obtained byadding 2β to the predetermined value Lb. That is, when the predeterminedwidth value is Lb′, Lb′=Lb+2β. Therefore, when the width of the firstframe 77 is smaller than the predetermined value Lb, the width of thesecond frame 78 has a length obtained by extending the width of thefirst frame 77 having the predetermined value by the predetermineddistance (2×β). Also at this time, the position of the second frame 78is set so that the left side 77 c of the second frame 78 is extended inthe width direction by a distance equal to a distance by which the rightside 77 d thereof is extended in the width direction. Therefore, theleft side 77 c and the right side 77 d are each extended in the widthdirection by {Lb′−(Xb−Xa)}/2. That is, Xc of the second frame data 324is updated to Xa−{Lb′−(Xb−Xa)}/2. Also, Xd of the second frame data 324is updated to Xb+{Lb−(Xb−Xa)}/2. After the process in step S506, theprocess in step S507 is performed.

In this illustrative embodiment, with steps S501 through S506, thesecond frame 78 is restricted to have a height of La′ and a width of Lb′at the minimum. This is to prevent the display area from being reducedtoo much to cause the game screen to be zoomed up too much. Thisprevents images of characters from being roughly displayed due to toomuch zooming-up.

With the processes in steps S501 through S506, the second frame 78 atleast including an area obtained by extending the first frame 77 outwardby the predetermined distance (2β) is set (refer to FIG. 11). Theselected characters are contained in the first frame 77. Therefore, whenthe area in the second frame 78, which is obtained by extending thefirst frame 77, is displayed, the selected characters are not displayedon the edge of the display area. Thus, the selected characters can bedisplayed so as to be always easy to view. In steps S501 through S506,it is assumed that, when the second frame data 324 stored in the workmemory 32 is updated, the display size data 325 is also updatedaccordingly.

In steps S507 through S509, a process of correcting the aspect ratio ofthe second frame 78 set in steps S501 through S506 is performed. First,in step S507, it is determined whether the second frame 78 has a shapelonger in the height direction than the shape of the display area or hasa shape longer in the width direction than the shape of the displayarea. Specifically, it is determined whether the width L1 of the secondframe 78 has a value smaller than a product of the height L2 of thesecond frame 78 and an aspect ratio A of the display area. Thisdetermination is performed by using the display size data 325 stored inthe work memory 32. That is, if L1<L2×A, it is determined that thesecond frame 78 has a shape longer in the height direction than theshape of the display area, and then a process in step S508 is performed.On the other hand, if L1>=L2×A, it is determined that the second frame78 has a shape longer in the width direction than the shape of thedisplay area, and then a process in step S509 is performed.

In step S508, the width of the second frame 78 is corrected.Specifically, the width is corrected so as to have a value equal to aproduct of the height L2 and the aspect ratio A of the display area(refer to FIG. 12B). With this, the width of the second frame 78, whichhas a shape whose height is longer than its width, is extended, therebycorrecting the shape of the second frame 78 so as to have a shapesimilar to the shape of the display area. Furthermore at this time, theposition of the second frame 78 is set so that its width is extendedrightward and leftward equally. Specifically, when a difference betweenthe width after correction and the width before correction is taken asS1, the X coordinate of each right vertex of the second frame 78 ismoved rightward (in the positive direction on the X axis) by S1/2. Also,the X coordinate of each left vertex of the second frame 78 is movedleftward (in the negative direction on the X axis) by S1/2. That is, Xdof the second frame data 324 is updated to a value obtained by addingS1/2 to Xd before correction. Also, Xc of the second frame data 324 isupdated to a value obtained by subtracting S1/2 from Xc beforecorrection.

On the other time, in step S509, the height of the second frame 78 iscorrected. Specifically, the height is corrected so as to have a valueobtained by dividing the width L1 by the aspect ratio A of the displayarea (FIG. 12A). With this, the height of the second frame 78, which hasa shape whose width is longer than its height, is extended, therebycorrecting the shape of the second frame 78 so as to have a shapesimilar to the shape of the display area. Furthermore at this time, theposition of the second frame 78 is set so that its width is extendedupward and downward equally. Specifically, when a difference between theheight after correction and the height before correction is taken as S2,the Y coordinate of each upper vertex of the second frame 78 is movedupward (in the positive direction on the Y axis) by S2/2. Also, the Ycoordinate of each lower vertex of the second frame 78 is moved downward(in the negative direction on the Y axis) by S2/2. That is, Yd of thesecond frame data 324 is updated to a value obtained by adding S2/2 toYd before correction. Also, Yc of the second frame data 324 is updatedto a value obtained by subtracting S2/2 from Yc before correction. Withthe process in step S508 or S509, the second frame setting process iscompleted.

Returning to the description of FIG. 15, after the second frame settingprocess, the CPU 31 causes a game image to be displayed on thetelevision 2. That is, in step S6, a view volume is set specifically byusing the scheme described with reference to FIGS. 13A and 13B. Withthis, an area in the game space 71 is determined as a display area.Furthermore, in step S7, a game image is displayed on the television 2.Specifically, based on the determined view volume, a game imagerepresenting the game space 71 when viewed from the direction of theline of sight 73 is generated. In the above steps S2 through S7, a gameimage for one frame is generated. Thereafter, the CPU 31 repeats stepsS2 through S7 to perform the game process.

In the above first frame setting process (step S4), the selected objectsare always contained in the first frame 77. Here, for example, if a newselected object appears in the game space in step S2 or S3, the firstframe 77 may be required to be abruptly expanded or reduced. That is, ifa new selected object appears in an area that is different from the areabeing displayed in one frame, the first frame 77 is significantlyexpanded in the next frame. As a result, the display area is abruptlychanged. Moreover, if the selected object that is present in the gamespace 71 in one frame disappears in the next frame, the display area maybe abruptly changed. Such a game image in which the display area isabruptly changed is thought to be very difficult for the players toview. To get around this problem, a process of preventing such an abruptchange of the display area may be performed, which will be describedbelow in detail.

FIG. 19 is a flowchart showing an exemplary modification of the firstframe setting process. In FIG. 19, processes identical to those shown inFIG. 16 are provided with the same step numbers and are not describedherein. The process shown in FIG. 19 is different from that shown inFIG. 16 in that steps S421 and S422 are performed after step S405. Inthis exemplary modification, after step S405, it is determined in stepS421 whether a moving distance of the upper side 77 a of the first frame77 is equal to or larger than a predetermined limit value y.Specifically, Yb of the first frame data 323 before updating and Ybafter updating in step S405 are compared with each other, therebycalculating the moving distance of the upper side 77 a. Then, thecalculated moving distance is compared with the predetermined limitvalue y, thereby determining whether the moving distance is equal to orlarger than the predetermined limit value y. If it is determined thatthe moving distance is equal to or larger than the predetermined limitvalue, a process in step S422 is performed. On the other hand, if it isdetermined that the moving distance is smaller than the predeterminedlimit value, the process in step S422 is skipped, and then a process instep S423 (the processes in steps S406 through S419) is performed.

In step S422, the moving amount of the upper side 77 a is restricted tothe above predetermined limit value. Specifically, Yb of the first framedata 323 stored in the work memory 32 is updated to a value obtained byadding the predetermined value y to Yb before updating in step S405.After the process in step S422, the process in step S406 is performed.

As described above, in steps S421 and S422, the first frame 77 isdeformed so that the moving distance of the upper side 77 a of the firstframe 77 per predetermined unit time (frame interval) does not exceedthe predetermined limit value. Therefore, the processes in steps S421and S422 can prevent the upper side 77 a of the first frame 77 frombeing abruptly moved. In FIG. 19, it is determined whether the movingdistance is equal to or larger than the predetermined limit value onlywhen the upper side 77 a is moved outward. Also when another side ismoved outward, processes similar to those in steps S421 and S422 can beperformed. With such processes similar to those in step S421 and S422being performed for all four sides of the first frame 77, the firstframe can be prevented from being abruptly moved. As a result, thedisplay area can be prevented from being abruptly expanded.

In the above embodiment, each side of the first frame 77 is moved by thepredetermined distance k when being moved inward. In another embodiment,the side to be moved may be moved to the position of the selectedobject. At this time, as is the case where each side of the first frame77 is moved outward, each side may be abruptly moved when being movedinward. To avoid this problem, processes similar to those in steps S421and S422 may be performed also when the four sides of the first frame 77are moved inward, thereby preventing the first frame from being abruptlyreduced. As a result, the display area can be prevented from beingabruptly changed. Thus, it is possible to provide a display that iseasier for the player to view.

As has been described in the foregoing, according to this illustrativeembodiment, the first frame is set so as to include a plurality ofselected objects, thereby displaying the selected objects. Furthermore,each of the frames (the first frame and the second frame) is deformedwhen all of the selected objects are moved inward from one of the sidesof the frame by a predetermined distance. That is, the frame is notnecessarily deformed when any selected object is moved. Therefore,frequent deformations of the frame can be prevented, thereby preventingthe display area from being frequently moved. Thus, the area fordisplaying the game space can be displayed so as to be easy to view.

Also, according to this illustrative embodiment, the display area isdetermined based on the frame virtually set in the three-dimensionalgame space. With this, the display area can be determined without usinga fixation point. Therefore, unlike the case where the display area isdetermined by using a fixation point, a situation where only a specificobject is always displayed on the center of the screen never occurs.Therefore, according to the embodiment, even for a game in which aplurality of objects get attention, each of these objects can bedisplayed similarly. That is, a plurality of objects can be displayed soas to be easy to view.

In this illustrative embodiment, description has been made to the gamein which a three-dimensional game space is formed. However, theillustrative embodiments can be applied to a game in which atwo-dimensional game plane is formed. To apply the present invention tosuch a game, a frame setting plane is set on a game plane. Therefore, inthis case, a process of converting a world coordinate value to a framecoordinate value is not required. That is, by using the coordinatevalues of the game plane, the frame can be set and deformed. Also, itcan be assumed that the line of sight is perpendicular to the gameplane.

Also, in one illustrative embodiment, each of the frames (the firstframe 77 and the second frame 78) has a shape of a rectangle (includinga square). This is not meant to be restrictive. For example, the framemay have a shape of a polygon or an ellipse. When the frame has a shapeof a polygon, that polygon frame can be represented by coordinates ofits vertices on the frame setting plane. Also, when the frame has ashape of an ellipse, that ellipse frame can be represented by its centerand its major axis and minor axis. Furthermore, for example, the firstframe 77 may have a shape of an ellipse, while the second frame 78 mayhave a shape of a rectangle. According to this, the selected objects aredisplayed so as to be positioned inside of the ellipse included in thedisplay area (rectangle). Therefore, the selected objects are notdisplayed at any corner of the screen, and therefore are easy to view.

Still further, in an illustrative embodiment, the first frame 77 isfirst derived based on the frame coordinate value of each selectedobject (steps S404 through S419), and then the second frame 78 isderived (steps S501 through S506). In another illustrative embodiment,the second frame 78 may be directly derived based on the framecoordinate value of each selected objects. Specifically, when theposition of the side of the first frame 77 is set in steps S405 andS413, for example, a margin of the predetermined distance β is takeninto consideration for determination. With this, in steps S404 throughS419, the second frame 78 can be derived. In this case, the processes insteps S502 and S505 are not necessary.

Still further, in another illustrative embodiment, the frame settingplane is perpendicular to the line of sight. However, the frame settingplane is not restricted to such a plane perpendicular to the line ofsight. For example, in the game space 71 shown in FIG. 4, a plane wherey=0, for example, may be set as a frame setting plane, and vertices ofthe view volume may be set on straight lines extending from vertices ofa frame set on the plane of y=0 in the direction of the line of sight orthe direction of the viewing point. Also, the plane of y=0 is merely anexample, and an arbitrary plane in a three-dimensional game space can beset as a frame setting plane.

Still further, in one illustrative embodiment, the direction of the lineof sight is predetermined and, based on the direction of the line ofsight, the selected objects are set on the frame setting plane. Here,the illustrative embodiments can be applied even to a case where theposition of the viewing point is predetermined in place of the directionof the line of sight (for example, the position of the viewing point isset in step S1 shown in FIG. 15). FIG. 20 is an illustration fordescribing a process of projecting the selected objects onto the framesetting plane based on the position of the viewing point. When a viewingpoint 79 is predetermined, the frame coordinate values of the selectedobjects are determined based on the position of the viewing point.Specifically, a point of intersection of the frame setting plane 76 anda straight line connecting each selected object in the game space 71 andthe viewing point 79 is set as a frame coordinate value of each selectedobject. Similarly, the position of the origin of the frame coordinatesystem 75 is set at a point of intersection of the frame setting plane76 and a straight line connecting the origin of the world coordinatesystem 72 and the viewing point. As such, by applying the presentinvention, the frame coordinate value of each selected object can becalculated even when the position of the viewing point is predetermined,as is the case where the direction of the line of sight ispredetermined. When the position of the viewing point is predetermined,in order to set a view volume, perspective projection is performed byusing the position of the viewing point. Alternatively, the direction ofthe line of sight is determined based on the position of the viewingpoint and the second frame (for example, a line drawn from the viewingpoint to the center of the second frame is first taken as representingthe direction of the line of sight). Then, by using the determineddirection of the line of sight, a view volume can be set throughparallel projection.

While the invention has been described in detail, the foregoingdescription is in all aspects illustrative and not restrictive. It isunderstood that numerous other modifications and variations can bedevised without departing from the scope of the invention.

What is claimed is:
 1. A game system for causing a three-dimensionalvirtual game space to be displayed on a display device in a direction ofa predetermined line of sight, the three-dimensional virtual game spacehaving a plurality of objects appearing therein, and at least two of theplurality of objects being set as selected objects, the game systemcomprising: a movement controller to control the movements of theobjects; a line-of-sight direction setting programmed logic circuitry toset the direction of the line of sight; a frame-setting-plane settingprogrammed logic circuitry to set a frame planar area in thethree-dimensional game space; a frame-coordinate-value calculator tocalculate, for each of the selected objects, a frame coordinate valueindicative of a point of intersection of the frame planar area and astraight line passing through the selected object in thethree-dimensional game space and extending along the line of sight setby the line-of-sight direction setting programmed logic circuitry; aframe setting programmed logic circuitry to virtually set a rectangularframe defining the frame planar area, the frame including every positionindicated by a frame coordinate value for each of the selected objects;a frame deforming programmed logic circuitry to deform the frame set bythe frame setting programmed logic circuitry in accordance withmovements of the selected objects; a view volume determination unitdetermining each vertex of a view volume, wherein each vertex is on astraight line passing through a vertex of the frame deformed by theframe deforming programmed logic circuitry and extending along the lineof sight set by the line-of-sight direction setting programmed logiccircuitry; a display controller to cause the game space to be includedin the view volume determined by the view volume determination unit tobe displayed on the display device, and a selected object changingprogrammed logic circuitry to add a new selected object or delete atleast one of the selected objects, wherein, when every positionindicated by the frame coordinate value of each of the selected objectsis moved by at least a predetermined distance inward from one side ofthe frame on the frame planar area, the frame deforming programmed logiccircuitry deforms the frame so that the side is moved towards the insideof the frame, when a position indicated by a frame coordinate value ofany one of the selected objects is moved outside of one side of theframe on the frame planar area, the frame deforming programmed logiccircuitry deforms the frame so that the side is moved towards theoutside of the frame, and when an addition or a deletion is performed bythe selected object changing programmed logic circuitry, the framedeforming programmed logic circuitry deforms the frame so that a movingdistance of one side of the frame per predetermined unit time is shorterthan a predetermined distance.
 2. The game system according to claim 1,wherein the frame-setting-plane setting programmed logic circuitry setsa plane perpendicular to the direction of the line of sight set by theline-of-sight direction setting programmed logic circuitry as the frameplanar area.
 3. A game system for causing a three-dimensional virtualgame space to be displayed on a display device in a direction of apredetermined line of sight, the three-dimensional virtual game spacehaving a plurality of objects appearing therein, and at least two of theplurality of objects being set as selected objects, the game systemcomprising: a movement controller to control the movements of theobjects; a viewing point position setting programmed logic circuitry toset a position of a viewing point; a frame-setting-plane settingprogrammed logic circuitry to set a frame planar area in thethree-dimensional game space; a frame-coordinate-value calculator tocalculate, for each of the selected objects, a frame coordinate valueindicative of a point of intersection of the frame planar area and astraight line connecting the selected object in the a three-dimensionalgame space and the position of the viewing point set by the viewingpoint position setting programmed logic circuitry; a frame settingprogrammed logic circuitry to virtually set a rectangular frame definingthe frame planar area, the frame including every position indicated bythe frame coordinate value of each of the selected objects; a framedeforming programmed logic circuitry to deform the frame set by theframe setting programmed logic circuitry in accordance with movements ofthe selected objects; a view volume determination unit determining aview volume by extending a straight line through each vertex of the viewvolume, a corresponding vertex of the view volume of the frame deformedby the frame deforming programmed logic circuitry and the viewing point;a display controller to apply the view volume to display the game spaceincluded in the view volume determined by the view volume determinationunit on the display device, and a selected object changing programmedlogic circuitry to add a new selected object or delete at least one ofthe selected objects, wherein, when every position indicated by theframe coordinate value of each of the selected objects is moved by atleast a predetermined distance inward from one side of the frame on theframe planar area, the frame deforming programmed logic circuitrydeforms the frame so that the side is moved towards the inside of theframe, when a position indicated by a frame coordinate value of any oneof the selected objects is moved outside of one side of the frame on theframe planar area, the frame deforming programmed logic circuitrydeforms the frame so that the side is moved towards the outside of theframe, and when an addition or a deletion is performed by the selectedobject changing programmed logic circuitry, the frame deformingprogrammed logic circuitry deforms the frame so that a moving distanceof one side of the frame per predetermined unit time is shorter than apredetermined distance.
 4. The game system according to claim 1, furthercomprising a frame expanding programmed logic circuitry to expand theframe deformed by the frame deforming programmed logic circuitry by apredetermined width upward, downward, rightward, and leftward on theframe planar area, wherein, the view volume determination unitdetermines the vertices of the view volume based on the vertices of theframe expanded by the frame expanding programmed logic circuitry.
 5. Thegame system according to claim 3, further comprising a frame expandingprogrammed logic circuitry to expand the frame deformed by the framedeforming programmed logic circuitry by a predetermined width upward,downward, rightward, and leftward on the frame planar area, wherein, theview volume determination unit determines the vertices of the viewvolume based on the vertices of the frame expanded by the frameexpanding programmed logic circuitry.
 6. The game system according toclaim 1, further comprising a frame correcting programmed logiccircuitry to correct the frame so that the frame deformed by the framedeforming programmed logic circuitry has a height longer than apredetermined height and a width longer than a predetermined width,wherein, the view volume determination unit determines the vertices ofthe view volume based on the vertices of the frame corrected by theframe correcting programmed logic circuitry.
 7. The game systemaccording to claim 3, further comprising a frame correcting programmedlogic circuitry to correct the frame so that the frame deformed by theframe deforming programmed logic circuitry has a height longer than apredetermined height and a width longer than a predetermined width,wherein, the view volume determination unit determines the vertices ofthe view volume based on the vertices of the frame corrected by theframe correcting programmed logic circuitry.
 8. The game systemaccording to claim 1, wherein the game system is used by a plurality ofplayers for playing a game, and the selected objects at least include aplurality of player characters operated by the plurality of players. 9.The game system according to claim 3, wherein the game system is used bya plurality of players for playing a game, and the selected objects atleast include a plurality of player characters operated by the pluralityof players.
 10. A game system for causing a two-dimensional virtual gameplane to be displayed on a display device, the two-dimensional virtualgame plane having a plurality of objects appearing therein, and at leasttwo of the plurality of objects being set as selected objects, the gamesystem comprising: a movement controller to control the movements of theobjects; a frame setting programmed logic circuitry to virtually set arectangular frame on the two-dimensional virtual game plane so that theframe includes the selected objects; a frame deforming programmed logiccircuitry to deform the frame set by the frame setting programmed logiccircuitry in accordance with the movements of the selected objects; adisplay controller to determine a display area to be displayed on thedisplay device, wherein the display area is defined by the rectangularframe on the two-dimensional virtual game plane and the display area isdisplayed, and a selected object changing programmed logic circuitry toadd a new selected object or delete at least one of the selectedobjects, wherein, when all of the selected objects are moved by at leasta predetermined distance inward from one side of the frame, the framedeforming programmed logic circuitry deforms the frame so that the sideis moved towards the inside of the frame, when any one of the selectedobjects is moved outside of one side of the frame on the frame planararea, the frame deforming programmed logic circuitry deforms the frameso that the side is moved towards the outside of the frame, and when anaddition or a deletion is performed by the selected object changingprogrammed logic circuitry, the frame deforming programmed logiccircuitry deforms the frame so that a moving distance of one side of theframe per predetermined unit time is shorter than a predetermineddistance.
 11. A computer-readable non-transitory storage medium storedtherein a game program executed by a computer of a game system forcausing a three-dimensional virtual game space to be displayed on adisplay device in a direction of a predetermined line of sight, thethree-dimensional virtual game space having a plurality of objectsappearing therein, and at least two of the plurality of objects beingset as selected objects, the game program causing the computer toexecute; a movement control step of controlling the movements of theobjects; a line of sight direction setting step of setting the directionof the line of sight; a frame-setting-plane setting step of setting aframe planar area in the three-dimensional game space; aframe-coordinate-value calculating step of calculating, for each of theselected objects, a frame coordinate value indicative of a point ofintersection of the frame planar area and a straight line passingthrough the selected object in the three-dimensional game space andextending along the line of sight set in the line-of-sight directionsetting step; a frame setting step of virtually setting a rectangularframe on the frame planar area, the frame including every positionindicated by the frame coordinate value of each of the selected objects;a frame deforming step of deforming the frame set in the frame settingstep in accordance with the movements of the selected objects; a displaycontrol step of determining each vertex of a view volume as being on astraight line passing through a corresponding vertex of the framedeformed in the frame deforming step and extending along the line ofsight set in the line-of-sight direction setting step, and the displaycontroller applying the view volume to cause the frame of the game spaceto be displayed on the display device, and a selected object changingstep of adding a new selected object or deleting at least one of theselected objects, wherein, in the frame deforming step, when everyposition indicated by the frame coordinate value of each of the selectedobjects is moved by at least a predetermined distance inward from oneside of the frame on the frame planar area, the frame is deformed sothat the side is moved towards the inside of the frame, in the framedeforming step, when a position indicated by a frame coordinate value ofany one of the selected objects is moved outside of one side of theframe on the frame planar area, the frame is deformed so that the sideis moved towards the outside of the frame, and in the frame deformingstep, when an addition or a deletion is performed in the selected objectchanging step, the frame is deformed so that a moving distance of oneside of the frame per predetermined unit time is shorter than apredetermined distance.
 12. A computer-readable non-transitory storagemedium stored therein a game program executed by a computer of a gamesystem for causing a three-dimensional virtual game space to bedisplayed on a display device in a direction of a predetermined line ofsight, the three-dimensional virtual game space having a plurality ofobjects appearing therein, and at least two of the plurality of objectsbeing set as selected objects, the game program causing the computer toexecute; a movement control step of controlling the movements of theobjects; a viewing point position setting step of setting a viewingpoint; a frame-setting-plane setting step of setting a frame planar areain the three-dimensional game space; a frame-coordinate-valuecalculating step of calculating, for each of the selected objects, aframe coordinate value indicative of a point of intersection of theframe planar area and a straight line connecting the selected object inthe three-dimensional game space and the viewing point set in theviewing point position setting step; a frame setting step of virtuallysetting a rectangular frame on the frame planar area, the frameincluding every position indicated by the frame coordinate value of eachof the selected objects; a frame deforming step of deforming the frameset in the frame setting step in accordance with the movements of theselected objects; a display control step of determining each vertex of aview volume based on a straight line passing through a correspondingvertex of the frame deformed in the frame deforming step and the viewingpoint, and the display control step applying the view volume to displaythe frame of the game space on the display device, and a selected objectchanging step of adding a new selected object or deleting at least oneof the selected objects, wherein, in the frame deforming step, whenevery position indicated by the frame coordinate value of each of theselected objects is moved by at least a predetermined distance inwardfrom one side of the frame on the frame planar area, the frame isdeformed so that the side is moved towards the inside of the frame, inthe frame deforming step, when a position indicated by a framecoordinate value of any one of the selected objects is moved outside ofone side of the frame on the frame planar area, the frame is deformed sothat the side is moved towards the outside of the frame, and in theframe deforming step, when an addition or a deletion is performed in theselected object changing step, the frame is deformed so that movingdistance of one side of the frame per predetermined unit time is shorterthan a predetermined distance.
 13. A computer-readable non-transitorystorage medium stored therein a game program executed by a computer of agame system for causing a two-dimensional virtual game plane to bedisplayed on a display device, the two-dimensional virtual game planehaving a plurality of objects appearing therein, and at least two of theplurality of objects being set as selected objects, the game programcausing the computer to execute; a movement control step of controllingthe movements of the objects; a frame setting step of virtually settinga rectangular frame on the two-dimensional virtual game plane so thatthe frame includes the selected objects; a frame deforming step ofdeforming the frame set in the frame setting step in accordance with themovements of the selected objects; a display control step of determininga display area to be displayed on the display device, wherein thedisplay area is defined by the frame on the two-dimensional virtual gameplane and the display area is displayed, and a selected object changingstep of adding a new selected object or deleting at least one of theselected objects, wherein, in the frame deforming step, when all of theselected objects are moved by at least a predetermined distance inwardfrom one side of the frame, the frame is deformed so that: the side ismoved towards the inside of the frame, in the frame deforming step, whenany of the selected objects is moved outside of one side of the frame onthe frame planar area, the frame is deformed so that the side is movedtowards the outside of the frame, and in the frame deforming step, whenan addition or a deletion is performed in the selected object changingstep, the frame is deformed so that a moving distance of one side of theframe per predetermined unit time is shorter than a predetermineddistance.